What's New in thinkingParticles 4 

Welcome to thinkingParticles 4.0. In our ongoing desire to serve the needs and expectations of our customers, cebas VISUAL TECHNOLOGY Inc. will periodically release new Major Versions of its software for thinkingParticles to enhance its features and stability for your production usage. It is strongly recommended that you always keep your software up to date.

Welcome to R4 

With every major release of thinkingParticles new features are introduced, extending the power and flexibility of thinkingParticles by a magnitude compared to its predecessor. However, Release 4 represents a milestone in advancing the feature set. Most of its new functionality was born out of the need from several major block buster movie productions. Roland Emmerich's "2012" that was all about demolition and disaster and director John Woo's "Red Cliff" which had an epic ship battle of more than 4000 burning and crashing ships further more there was some sequences in the movie GI Joe "Rise of the Cobra" that needed our development attention as well.

Find below a list of visible and invisible changes done to thinkingParticles R4. Keep in mind that every new major software release is likely to bring slight differences to already existing (R3) rigid body simulations as well as general particle simulations.

Enhanced Operators 

thinkingParticles ships with many operator nodes and its great flexibility and concept of wiring everything with everything, offers an endless combination of nodes and setups to be used to do particle effects. With every new node added to the tool set the combinations and possible uses for effects increases by a magnitude.

This release of thinkingParticles is not only about adding complete new nodes, it is also about enhancing existing nodes which offers the same great benefits as completely new nodes would do.


The following existing thinkingParticles Nodes have been changed/enhanced

Intersect Node: this node received new inputs and outputs to enhance its functionality. New Inputs: Particle Shape, UVW Channel
New Outputs: Object Position, Face ID, Face Coordinates  

One To X: a new more generalized data stream concept has been introduce to this helper node New: the Type of data stream connected and output can now be selected  

Surface Pos Node: new inputs have been added to this node to enhance its functionality New Inputs: UVW, Particle Shape  

Volume Pos Node: by adding a new input to this node, particle shapes can now be used to define the volume for placing or generating particles. New Input: Particle Shape OP_ObjToParticle: a new object state has been introduced to this node, No tracking will not use any transformation information at all except position. New Selection Option: Initial Velocity
"None" now really does NO tracking at all  

Get Reference Operator: by adding a new Number of Refs output, it is now possible to request the total number of references a particle has. New Output: Number of Refs, outputs the number of references  

PAttach: particles can now attach to other particles either relative or absolute New Option : Absolute
New Option : Relative  

Fragment Operator: a lot of fine tuning has been done to this operator. New inputs and features have been added.
New in Fragment Shape section: Segments
New in Remaining Shape section: Segments
New function for Edges: automatic texture mapping added
New Inputs: Segments, R Segments  

The NVIDIA PhysX dynamics solver is now true 64-Bit.

New Menu Categories 

Serious housecleaning has been done for this release of thinkingParticles, in the process of streamlining the thinkingParticles workflow some reorganizing to the operator sections has been done. Find below a list of new menu sections added to this release of thinkingParticles.
Fragmenter: Organizes all fragmentation nodes in one section.

VolumeBreaker: Gives access to all VolumeBreaker specific nodes.

Shape Collision: The all new ShapeCollison nodes are collected within this menu section.  

 
New Joints 

In addition to the already existing PhysX Joint helper object another, more advanced, Joint helper to be used with the new ShapeCollison rigid body solver has been added. To learn more about this new helper follow this link: TP Joint SC

Rigid body particle dynamics and especially joints are one of the "big" new things in thinkingParticles that have been fine tuned and optimized to the best possible extent. The result of our efforts to deliver the best possible Hollywood F/X tool ever, can be seen in the many flexible ways to create and use rigid body joints now. At first this might be overwhelming or even confusing, but once you get the hang on it you won't want to miss the new freedom and power. Joints can be created and accessed within the following ways:

  1. Modifer Joints

  2. Object Joints

  3. Operator Joints

 
 
New Operators 

Yes, we admit it - it's cool to get new toys with every major release of thinkingParticles and this release offers plenty of them! By integrating VolumeBreaker technology right into thinkingParticles in a pure and fully procedural way the core tool set of thinkingParticles offers never before seen rigid body "demolition" power. This ground breaking new technology made movies like "2012" or "Red Cliff" possible.

thinkingParticles 4.0 also introduces for the first time ever a true hierarchical rigid body demolition system that enables the control in a exact controllable way how "connected" parts of a bigger system (house,plane ...) fly off or collapse under certain situations. This rigid body dynamics skeleton system allows for a full procedural demolition setup that can be individually adjusted anytime later when needed.

 
 
New Utility 

thinkingParticles is the "Mother of all Demolition Software" and we have added a rich set of tools to enable the user to create realistic looking demolition sequences in the least amount of time. We want to be clear about one thing: realistic rigid body dynamics demolition effects are still one of the most complex things to do in computer graphics! There is no software tool on this planet that will take away the pain of properly planning and deciding how the effect should progress and look like. The tools thinkingParticles offers can help in speeding up the process and for sure in a later stage it is the best tool available to art direct a destruction sequence.

The all new TP Collapse utility is meant to automatically assemble complex constructions and prepare them in a way for thinkingParticles to allow the creation of a hierarchical "structural skeleton" of the main construct.

New Shape Collision 

thinkingParticles comes with its next generation of rigid body dynamics solver: The SC Operator or ShapeCollison 2 regardless of how you want to name this thing - it's the new rigid body solver in tP town! For compatibility reasons the old ShapeCollision solver has been kept in the tool set "as is", so all of the older simulations will still work and look the same. From R4 onwards it is recommended to use the all new "SC" operator instead.

The new ShapeCollision (SC) incorporates, for the first time ever, true Multi-Core (CPU) support for its collision detection and overall solving. The accuracy of the solver has been enhanced beyond believe and the stability you can get out of it is unmatched by the old ShapeCollision or PhysX.

Speed is always and issue in complex physics simulations, PhysX delivers already fast game quality physics, but it is not good enough for the Hollywood style of effects which need way more accuracy than PhysX can deliver. Thanks to a much more enhanced multi-core (CPU) support, SC has to offer, the simulation times can be reduced by a factor as much as 10 times when compared to the good old ShapeCollision !

New Modifiers and Textures 

Several new Textures and Modifiers have been added in this release. Some of the new tools are not directly related to particle effects but can be combined and offer an amazing additional value to do effects that would be way more complex to achieve without these little tools.

-TP_Deform_Modifier: used to simulate earthquake like rifts or folds that progress along a path over time. Other creative uses are possible.

-TP_Deform_Texmap: an animated depth-map only solution with near identical results to the TP_Deform_Modifier

- TP TexMap: has been updated and offers now more features to paint with particles and textures

- TP_Variation Texture Map: this texture map, mainly used to texture crowd simulations, has been enhanced in many ways in this release of thinkginParticles

New Functionality 

thinkingParticles offers an additional licensing model to allow network simulation of files and creating the caches on individual machines. Those so called "SIM-Licenses" can be ordered separately from the cebas online store. Every thinkingParticles R4.0 comes with one SIM-License which allows you to simulate/write out particle caches on one extra machine in network mode at the same time you are working on a workstation with thinkingParticles.
To learn more about SIM-Licenses and how the workflow for batch simulation works Click Here


The handling of cached simulation files, created by thinkingParticles, has been enhanced a lot. Simulation cache files are now really "transportable" and self contained. They can be copied and moved around and played back within any thinkingParticles scene even an empty DynamicSet with no particle groups at all will work and play back the cache file. To achieve this "transportable" and self contained workflow, every cache file comes with its own material library which makes it independent from any scene content.


Master Dynamic Rollout Menu
: several new additions have been done to the MasterDynamic Set dialog. Some of them are listed below.

New Enhanced behavior: with the introduction of thinkingParticles 4, viewport sub-frame settings are locked now to render settings by default.
New Feature:
Time Offset, allows to change or offset the playback start time of a cache file
New Enhanced Statistics
: Cache file statistics now include more detail than ever, information like PC name, User name, simulation time etc. has been added to the statistics window.
New Feature:
Cache playback of particle simulations can now be positioned and rotated in 3D space afterwards.
New Feature:
Cached particles can now be Scaled on playback
New Feature
: Cache playback can now be linked to an object or multiple objects for unlimited instancing of caches
New Feature:
Sophisticated out of range control for recorded caches has been added

To learn more about handling cache files check out the following links:

Dynamic Set Caching Options
Working with tP Caches
 

 
 
Scripting tP functions 

New TP_ScriptOperator - ability to create scripted plugins for use within TP UI


thinkingParticles R 4.0 adds many new scripting functions to control thinkingParticles objects via MAXScript. thinkingParticles is fully compatible with standard MAXScript calls, every MAXScript savvy person would be able to extract all needed functions and methods.
Find below some of the methods and interfaces offered by thinkingParticles 4.0.


  .GroupManager (Group_Manager) : maxObject
  .MasterDynamic (Master_Dynamic) : maxObject
  .NumParticles : integer
  .valid_t : time
  .sim_t : time
  .sim_dt : time
  .sim_interval : interval
  .sim_depth : integer
  .sim_start : boolean

Interface: TP_MasterSystemInterface
   Properties:
    .NumParticles : integer : Read
    .valid_t : time : Read
    .sim_t : time : Read
    .sim_dt : time : Read
    .sim_interval : interval : Read
    .sim_depth : integer : Read
    .sim_start : boolean : Read
   Methods:
    <integer>AddParticle()
    <void>Die <integer>pid
    <void>SetGroup <integer>pid <maxObject>pgroup
    <void>SetPosition <integer>pid <&point3>position
       position is In parameter
    <void>SetVelocity <integer>pid <&point3>velocity
       velocity is In parameter
    <void>SetAge <integer>pid <time>age
    <void>SetLifeSpan <integer>pid <time>lifespan
    <void>SetSize <integer>pid <float>size
    <void>SetScale <integer>pid <&point3>scale
       scale is In parameter
    <void>SetAlignment <integer>pid <&matrix3>align
       align is In parameter
    <void>SetMass <integer>pid <float>mass
    <void>SetSpin <integer>pid <&angleAxis>spin
       spin is In parameter
    <void>SetRandomseed <integer>pid <integer>seed
    <void>SetDTFactor <integer>pid <float>factor
    <void>SetMtlTime <integer>pid <time>time
    <boolean>IsAlive <integer>pid
    <boolean>IsBorn <integer>pid
    <boolean>IsDie <integer>pid
    <boolean>IsEnterGroup <integer>pid
    <maxObject>Group <integer>pid
    <point3>Position <integer>pid
    <point3>PositionDT <integer>pid <time>dt
    <point3>Velocity <integer>pid
    <time>Age <integer>pid
    <time>LifeSpan <integer>pid
    <float>Size <integer>pid
    <point3>Scale <integer>pid
    <matrix3>Alignment <integer>pid
    <matrix3>AlignmentDT <integer>pid <time>dt
    <float>Mass <integer>pid
    <angleAxis>Spin <integer>pid
    <integer>Randomseed <integer>pid
    <integer>UniqueID <integer>pid
    <float>DTFactor <integer>pid
    <time>MtlTime <integer>pid
    <matrix3>Transform <integer>pid
    <matrix3>TransformDT <integer>pid <time>dt
    <void>UpdateParticles <time>time

  Interface: TP_PGroupInterface
   Properties:
   Methods:
    <maxObject>CreatePGroup()
    <void>RemovePGroup <index>index
    <integer>NumPGroups()
    <void>SetPGroupName <index>index <TSTR>name
    <string>PGroupName <index>index
    <maxObject>GetPGroup <index>index
    <integer>GetParticleCount <boolean>subtree
    <integer>GetParticles <&integer array>pids <boolean>subtree
       pids is Out parameter
       
  Interface: TP_DynSetInterface
   Properties:
   Methods:
    <maxObject>CreateDynSet()
    <void>RemoveDynSet <index>index
    <integer>NumDynSets()
    <maxObject>GetDynSet <index>index
    <integer>CacheRecord <TSTR>filename <boolean>rendermode <boolean>redrawviews
 
 
 
Rendering Enhancements 

thinkingParticles 4.0 enhances the interoperability with finalRender 3.5 - TP4 now supports spin motion blur for rotating particles.